<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8" />
  <title>Hello World</title>
  <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
  <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
  <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
</head>

<body>
  <div id="root"></div>
  <script type="text/babel">

    function Blog(props){
      const sidebar = (
        <ul>
          {props.posts.map((post)=>
            <li key={post.id}>
              {post.title}
            </li>  
          )}
        </ul>);

      const content= props.posts.map((post)=>
        <div key={post.id}>
          <h3>{post.title}</h3>
          <p>{post.content}</p>
        </div>
      );

      return (
        <div>
          {sidebar}
          <hr/>
          {content}
        </div>
      );
    }

    const posts = [
      {id:1,title:'Hello World',content:'Welcome to learning React!'},
      {id:2,title:'Installation',content:'You can install React from npm.'}
    ];

    ReactDOM.render(<Blog posts={posts}/>,document.getElementById('root'));
  </script>
  <!--
      Note: this page is a great way to try React but it's not suitable for production.
      It slowly compiles JSX with Babel in the browser and uses a large development build of React.

      To set up a production-ready React build environment, follow these instructions:
      * https://reactjs.org/docs/add-react-to-a-new-app.html
      * https://reactjs.org/docs/add-react-to-an-existing-app.html

      You can also use React without JSX, in which case you can remove Babel:
      * https://reactjs.org/docs/react-without-jsx.html
      * https://reactjs.org/docs/cdn-links.html
    -->
</body>

</html>